package remoto;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.List;

import dominioTO.ClienteTO;
import dominioTO.CotizacionTO;
import dominioTO.ItemCotizacionTO;
import dominioTO.ItemListaPreciosTO;
import dominioTO.ListaPreciosTO;
import dominioTO.OrdenCompraProveedorTO;
import dominioTO.OrdenPedidoClienteTO;
import dominioTO.ProveedorTO;
import dominioTO.RemitoClienteTO;
import dominioTO.RemitoProveedorTO;
import dominioTO.RodamientoTO;
import dominioTO.SolicitudRodamientosTO;

public interface InterfazRemota extends Remote{

	//ODV
	public ClienteTO buscarCliente(String cuit) throws RemoteException;
	public void persistirCliente(List<ClienteTO> list) throws RemoteException;
	
	public void persistirSolicitudRodamientosCliente(List<SolicitudRodamientosTO> list) throws RemoteException;
	
	public void persistirOrdenPedidoCliente(OrdenPedidoClienteTO OP) throws RemoteException;
	
	public ItemCotizacionTO getItemCotizacionOPCliente(Integer nroCotizacion, RodamientoTO rod, Integer cantidad) throws RemoteException;
	
	public List<RemitoClienteTO> verificarOrdenesClienteConSock()  throws RemoteException;
	
	//CPR	
	public ProveedorTO buscarProveedor(String cuit) throws RemoteException;
	public void persistirProveedor(List<ProveedorTO> list) throws RemoteException;
	
	public RodamientoTO buscarRodamiento(String nSerie,String  sufijo,String  prefijo,String  origen) throws RemoteException;
	
	
	public CotizacionTO generarCotizacion (String cuit, String OrdenCliente) throws RemoteException;
	
	public void persistirListaPrecios(ListaPreciosTO listaTO) throws RemoteException;
	
	public List<OrdenCompraProveedorTO> generarOrdenesDePedidoAProveedores() throws RemoteException;
	
	public void cambiarPorcentajeDeGanancia(Integer i) throws RemoteException;
	
	public ItemListaPreciosTO getItemListaPrecioFromOrdenCompra(Integer id, RodamientoTO rod) throws RemoteException;
	
	public OrdenCompraProveedorTO buscarOrdenCompraProveedor(Integer idOrdenCompraProveedor) throws RemoteException;
	
	public void persistirRemitoProveedor(RemitoProveedorTO dto) throws RemoteException;
	
	public void procesarRemitosProveedores() throws RemoteException;
}
